package com.oxygen.design.flyweight.factory;

import com.oxygen.design.flyweight.interfaces.Shape;
import com.oxygen.design.flyweight.interfaces.impl.Circle;

import java.util.HashMap;

/**
 * @author wangjie
 * @title: ShapeFactory
 * @description: TODO
 * @date 2022/3/30 15:52
 **/
public class ShapeFactory {

    private static final HashMap<String, Shape> circleMap = new HashMap<>();

    public static Shape getCircle(String color) {
        Circle circle = (Circle) circleMap.get(color);

        if (circle == null) {
            circle = new Circle(color);
            circleMap.put(color, circle);
            System.out.println("Creating circle of color : " + color);
        }
        return circle;
    }

}
